package com.ruoyi.finance.gift.service.impl;

import java.time.LocalDateTime;
import java.util.List;

import com.github.pagehelper.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import com.ruoyi.finance.gift.mapper.SzGiftMapper;
import com.ruoyi.finance.gift.domain.SzGift;
import com.ruoyi.finance.gift.service.ISzGiftService;

/**
 * 打赏礼物Service业务层处理
 *
 * @author wangmh
 * @date 2023-10-13
 */
@Service
public class SzGiftServiceImpl implements ISzGiftService {


    @Autowired
    private SzGiftMapper szGiftMapper;

    @Value("${finance.defaulGiftIcon}")
    private String defaulGiftIcon;

    /**
     * 查询打赏礼物
     *
     * @param id 打赏礼物主键
     * @return 打赏礼物
     */
    @Override
    public SzGift selectSzGiftById(Long id) {
        return szGiftMapper.selectSzGiftById(id);
    }

    /**
     * 查询打赏礼物列表
     *
     * @param szGift 打赏礼物
     * @return 打赏礼物
     */
    @Override
    public List<SzGift> selectSzGiftList(SzGift szGift) {
        return szGiftMapper.selectSzGiftList(szGift);
    }

    /**
     * 新增打赏礼物
     *
     * @param szGift 打赏礼物
     * @return 结果
     */
    @Override
    public int insertSzGift(SzGift szGift) {
        if (StringUtil.isEmpty(szGift.getIcon())) {
            szGift.setIcon(defaulGiftIcon);
        }

        if (szGift.getIsListing().equals("1")){
            szGift.setUpListingDate(LocalDateTime.now());
        }else{
            szGift.setUnderListingDate(LocalDateTime.now());
        }
        return szGiftMapper.insertSzGift(szGift);
    }

    /**
     * 修改打赏礼物
     *
     * @param szGift 打赏礼物
     * @return 结果
     */
    @Override
    public int updateSzGift(SzGift szGift) {
        if (StringUtil.isEmpty(szGift.getIcon())) {
            szGift.setIcon(defaulGiftIcon);
        }

        if (szGift.getIsListing().equals("1")){
            szGift.setUpListingDate(LocalDateTime.now());
        }else{
            szGift.setUnderListingDate(LocalDateTime.now());
        }
        return szGiftMapper.updateSzGift(szGift);
    }

    /**
     * 批量删除打赏礼物
     *
     * @param ids 需要删除的打赏礼物主键
     * @return 结果
     */
    @Override
    public int deleteSzGiftByIds(Long[] ids) {
        return szGiftMapper.deleteSzGiftByIds(ids);
    }

    /**
     * 删除打赏礼物信息
     *
     * @param id 打赏礼物主键
     * @return 结果
     */
    @Override
    public int deleteSzGiftById(Long id) {
        return szGiftMapper.deleteSzGiftById(id);
    }
}
